1
Além do Caminho Feliz: Navegando por Exceções
AI035Lesson 5
00:00

No Ruby, mover-se além do caminho feliz significa passar de um raciocínio linear para uma postura defensiva onde falhas são tratadas como objetos de primeira classe em vez de catástrofes que encerram o programa.

1. A Hierarquia de Exceções

O Ruby define de antemão uma hierarquia organizada de exceções mostrada em Figura 8.1. Cada erro é uma instância de uma classe dentro desta árvore, começando pela Exception raiz. Compreender esta árvore é essencial: erros de nível de aplicação geralmente descendem de StandardError, enquanto falhas de nível de sistema (como NoMemoryError) descendem diretamente de Exception.

ExceptionSignalExceptionScriptErrorNoMemoryErrorStandardErrorRuntimeErrorArgumentError

2. Erros como Objetos de Dados

Ao contrário de linguagens de baixo nível, onde um erro pode ser apenas um código de retorno simples, o Ruby empacota contexto—incluindo a string de mensagem e o rastreamento de execução—em um objeto formal. Isso permite que os desenvolvedores tratem interrupções em tempo de execução como dados que podem ser inspecionados e geridos por meio da herança.

Intenção Arquitetônica
A hierarquia distingue falhas fatais do sistema (que não devem ser capturadas) de erros de aplicação recuperáveis (StandardError).
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>